<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        //方式一:函数声明
        function f1(a,b){
            console.log(a+b);
        }
        f1(100,200);

        //方式二:函数表达式
        var a=10;
        var f2=function(a,b){//没有名字的函数称为匿名函数
            console.log(a-b);
        };
        f2(100,20);

        //方式三:箭头函数
        function f11(){
            console.log("哈哈哈");
            return 100;
        }
        let f12=()=>{
            console.log("哈哈哈")
            return 100;
        };
        f12();

        function f13(a){
           return a;
        }
        //如果就一个参数,可以省略()，并且函数体中就一行return 返回值，可以直接省略return和{}
        let f14=a=>a;
        console.log(f14(30));

        function f15(a,b){
            console.log(a+b);
        }
        let f16=(a,b)=>{
            return a+b;
        };
        let f17=(a,b)=>a+b;
        console.log(f17(1,2));

        function f18(a,b,c){
            console.log(a+b+c);
        }
        // let f19=(a,b,c)=>void console.log(a+b+c);//标准写法
        let f19=(a,b,c)=>console.log(a+b+c);//非标准写法
        console.log(f19(1,2,4))

        console.log("--------");
        //return关键字:1.返回函数的结果值  2.结束函数的运行
        function f3(a,b){
            console.log(a+b);
            return a;
        }
        var result=f3(1000,2000);
        console.log(result);
        console.log(f3(1000,3000));
        console.log("--------");
        function f4(a,b,c){
            var result=a+b+c;
            return result;
            console.log("哈哈哈，我是函数return后面的语句");
        }
        console.log(f4(10,20,30));
        console.log("--------");

        //如果一个函数没有return关键字或者return关键字后面没有跟返回值，则函数的返回值默认为undefined
        function f5(a,b,c){
            console.log(a-b-c);
            return;
        }
        console.log(f5(100,20,30));
        console.log("--------");
        function f6(a,b,c,d){
            return ;//结束函数的执行
            console.log(a+b+c+d)
        }
        f6(100,20,30,40);

        console.log(parseInt("23.2aaa"));//有返回值
        console.log(alert("嘿嘿"));//无返回值

        console.log(typeof  f1);//function
        console.log(typeof f2);//function
    </script>
</head>
<body>

</body>
</html>